Laboratorio: Calculadora de Ruteo de Dijkstra

El Objetivo 🎯

  • La Tarea: Encontrar la mejor ruta desde un servidor de origen `S` hacia todos los demás servidores.
  • La Salida: Para cada servidor `i`, debes calcular:
    • Latencia Total: El costo mínimo (camino más corto) desde `S` hasta `i`.
    • Próximo Salto: El *primer servidor* en ese camino más corto.
  • Ejemplo: Si el mejor camino desde `S` hasta `D` es `S -> A -> B -> D`, el **Próximo Salto** es `A`.

La Red 💾

Usaremos una Lista de Adyacencia para almacenar la red.
  • Los servidores son nodos.
  • Las conexiones son aristas bidireccionales.
  • La latencia es un peso positivo.
// Enlaces: 0-1 (10ms), 0-2 (3ms)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]

El Formato de Salida ⚙️

Debes imprimir `V` líneas. Cada línea `i` corresponde al servidor `i`.

  • [latencia] [próximo_salto]

    Para un nodo alcanzable.

  • 0 -1

    Si el nodo es el origen `S` en sí mismo.

  • -1 -1

    Si el nodo es inalcanzable desde `S`.